From: Jonas Dreßler Date: Sun, 28 Jun 2020 11:06:26 +0000 (+0200) Subject: dialog: Check whether text changed when setting title or description X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~198 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=e4bb2037ca16a7f6fff06f1e28fd633f5bb0048f;p=gnome-shell.git dialog: Check whether text changed when setting title or description As usually with GObject setters, we should check whether the property actually changed before setting the value and notifying the property. So check whether the title or description text actually changed before setting it. This fixes a bug which makes the title flicker and change its size, because when updating the title we remove the "leightweight" css class and reapply it inside a later, which makes the title appear larger for one frame. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2574 https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1336 --- diff --git a/js/ui/dialog.js b/js/ui/dialog.js index dacdf3d39..8e9fb5090 100644 --- a/js/ui/dialog.js +++ b/js/ui/dialog.js @@ -228,6 +228,9 @@ var MessageDialogContent = GObject.registerClass({ } set title(title) { + if (this._title.text === title) + return; + _setLabel(this._title, title); this._title.remove_style_class_name('leightweight'); @@ -237,6 +240,9 @@ var MessageDialogContent = GObject.registerClass({ } set description(description) { + if (this._description.text === description) + return; + _setLabel(this._description, description); this.notify('description'); }